package com.gdust.gkyx.acl.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gdust.gkyx.model.acl.Role;
import com.gdust.gkyx.vo.acl.RoleQueryVo;

import java.util.Map;

/**
 * ClassName: RoleService
 * Package: com.gdust.gkyx.acl.service
 * Description:
 *
 * @Author syun
 * @Create 2025/1/21 15:24
 * @Version 1.0
 */
public interface RoleService extends IService<Role> {

    /**
     * //1 角色列表（条件分页查询）
     * @param pageParam 分页对象
     * @param roleQueryVo 查询条件：包含角色名称
     * @return
     */
    IPage<Role> selectRolePage(Page<Role> pageParam, RoleQueryVo roleQueryVo);

    /**
     * 获取所有角色，和根据用户id查询用户分配角色列表
     * @param adminId 会员id
     * @return
     */
    Map<String, Object> getRoleByAdminId(Long adminId);

    /**
     * 为用户进行分配
     * @param adminId 会员id
     * @param roleIds 角色id
     */
    void saveAdminRole(Long adminId, Long[] roleIds);
}
